package com.itheima.d04_sort_select;

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {

        //优化：减少交换的次数
        //优化思想：内层循环查找最小值的位置，最后将最小值交换到最前面
        int arr[] = {1,2,3,4,5,6};

        for (int i = 0; i < arr.length - 1; i++) {
            //外层循环：控制比较的轮数
            int min = i; //记录最小值的索引
            System.out.println("外层循环，第："+(i+1)+"轮");
            for (int j = i + 1; j < arr.length; j++) {
                //内层循环：当前位置的数据，依次和后面数据进行比较
                System.out.println("\t\t内层循环，比较："+arr[min]+"和"+arr[j]+"，当前第次");
                //当前位置的数：arr[i]  , arr[j]
                if (arr[min] > arr[j]) {
                    min = j; //更行记录最小值的索引
                }
            }

            if(min != i){
                swap(arr, i, min); //交换数据
            }
        }

        System.out.println("排序结构：" + Arrays.toString(arr));
    }


    //交换
    public static void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}
